package com.junzhiit.nengji.shop.dao;

import java.util.List;

import com.bainaeco.framework.base.dao.BaseDAO;
import com.junzhiit.nengji.shop.bo.GoodsInfoBO;
import com.junzhiit.nengji.shop.model.Type;

public interface TypeDAO extends BaseDAO<Type> {
	/**
	 * TODO 查询所有的商品分类类型
	 * 
	 * @author FebRosy
	 * @time 2018年1月9日 下午3:58:35
	 * @return Type
	 */
	public List<Type> findAll(String shopId);

	/**
	 * 
	 * TODO 查询所有的商品分类名字
	 * 
	 * @author FebRosy
	 * @time 2018年1月10日 上午9:23:22
	 * @return List<Type>
	 */
	public List<Type> getAllName(String shopId);

	/**
	 * 
	 * TODO 查询LEVEL3商品分类
	 * 
	 * @author FebRosy
	 * @time 2018年1月24日 上午9:48:52
	 * @return List<Type>
	 */
	public List<Type> getGoodsType(String shopId);

	/**
	 * 
	 * TODO 查询商品分类的是否存在
	 * 
	 * @author FebRosy
	 * @time 2018年1月11日 下午12:01:37
	 * @return int
	 */
	public int getTypeExist(Type type);

	/**
	 * 
	 * TODO 获取最大编码
	 * 
	 * @author FebRosy
	 * @time 2018年1月11日 下午3:08:00
	 * @return String
	 */
	public String getMaxCode(String parentId);

	/**
	 * 
	 * TODO 获取最大全部编码
	 * 
	 * @author FebRosy
	 * @time 2018年1月11日 下午3:41:50
	 * @return String
	 */
	public String getMaxFullCode(String parentId);

	/**
	 * 
	 * TODO 查询最大排序值
	 * 
	 * @author FebRosy
	 * @time 2018年1月11日 下午3:56:00
	 * @return int
	 */
	public int getMaxSort(String parentId);

	/**
	 * 
	 * TODO 获取得所有该父类下的id
	 * 
	 * @author FebRosy
	 * @time 2018年1月11日 下午5:53:00
	 * @return List<Type>
	 */
	public List<Type> getChildId(String parentId);

	public List<Type> getChild(String parentId);
	/**
	 * 
	 * TODO 获得待审核的商品的类型
	 * 
	 * @author Qjen
	 * @time 2018年5月17日 下午3:38:46
	 * @return List<Type>
	 *
	 */
	public List<Type> getGoodsAuditType(String shopId);
	
	/**
	 * 
	 * TODO
	 * @author FEB
	 * @time 2018年7月9日 下午2:45:39
	 * @return Type
	 */
	public Type getType(Type type);
	
	/**
	 * TODO 根据类型ID查询下面所有的商品
	 * @author Dlam
	 * @time 2018年7月18日 下午9:27:29
	 * @return List<GoodsInfoBO>
	 * 
	 */
	public List<GoodsInfoBO> getGoodsByType(String typeId);
	
	/**
	 * TODO 根据类型ID查询下面所有的商品
	 * @author Dlam
	 * @time 2018年7月18日 下午9:27:29
	 * @return List<GoodsInfoBO>
	 * 
	 */
	public List<GoodsInfoBO> getEatGoodsByType(String typeId,Integer type);
}
